﻿#region License Info
//Component of Cronos Package, http://www.codeplex.com/cronos
//Copyright (C) 2009 Anthony Brockwell

//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.

//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.

//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#endregion


using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace ExtraControlLibrary.Forms
{
    public partial class DropMenuForm : Form
    {
        public int SelectedIndex = -1;

        public DropMenuForm(Point startLocation, List<string> options)
        {
            InitializeComponent();

            textLister1.StringList = options;

            // Remove title bar and set edge-style
            Text = string.Empty;
            FormBorderStyle = FormBorderStyle.FixedDialog;

            // Disable normal window functions
            MinimizeBox = false;
            MaximizeBox = false;
            ControlBox = false;
            ShowInTaskbar = false;
            TopMost = true; //make it appear on the very top

            Capture = true; //allows mouse events to be triggered no matter where the mouse clicks

            //Match the position to the parent control
            Left = startLocation.X;
            Top = startLocation.Y;

            Size = textLister1.GetPixelSize();
            textLister1.Focus();
        }

        
        private void textLister1_MouseLeave(object sender, EventArgs e)
        {
            Close();
        }

        private void textLister1_SelectionEvent(object sender, TextLister.SelectionEventArgs e)
        {
            SelectedIndex = e.selectedIndex;
            Close();
        }
    }
}